/**
 * 计算宝宝的年龄（周岁）和月份差
 *
 * @param babyBirthday 宝宝的出生日期，格式为 'YYYY-MM-DD'
 * @param currentDate 当前日期，格式为 'YYYY-MM-DD'
 * @returns 返回包含宝宝年龄（周岁）和月份差的对象
 */

function calBabyAge(babyBirthday, currentDate) {
  const badyBirthDate = new Date(babyBirthday);
  const currentBirthDate = new Date(currentDate);

  let age = currentBirthDate.getFullYear() - badyBirthDate.getFullYear();
  let month = currentBirthDate.getMonth() - badyBirthDate.getMonth();

  // 判断月份是否小于0，如果小于0的话，那么年龄就要-1，月份就要+12
  // 如果月份等于0的话，那么就要判断日期差是否小于0，如果大于0的话，就不要进行-1操作
  if (
    month < 0 ||
    (month === 0 && currentBirthDate.getDate() < badyBirthDate.getDate())
  ) {
    age--;
    month += 12;
  }
  return { age, month };
}
// 测试示例数据
const babyBirthday = "2014-04-05";
const currentDate = "2017-08-09";
console.log(calBabyAge(babyBirthday, currentDate)); // 输出：{ age: 3, month: 4 }
